The Problem: The problem of passengers bringing dangerous objects onto escalators is evident across airports around the world and has not been addressed with high concern. This is alarming because the chances of accidents occuring on escalators is becoming more and more prominent. Simple approaches would be adding a sign that simply shows objects not to be taken on escalators at the entrance of escalators but this doesn't guarantee that all passengers will comply. Another, more direct approach would be to place an employee at the entrance of escalators to "screen" passengers but this seems unnecessary and unefficient in terms of resources and time flow. Due to this, a new approach could be automation. What better way to explore automation of this process other than the ubiquitous field of machine learning?
The Approach: In teams of two, the group of machine learning interns decided to take two approaches to this issue to compare applicability and accuracy. The first team took a fundamental approach using binary image classification. We were given a dataset of escalator images at the SeaTac airport which started on Wednesday, March 20, 2019 at 10:52 AM and ended on Thursday, March 21, 2019 at 9:06 AM. My team decided to take a specific approach to address potential concerns with the binary classification model. We decided that rather than making this a binary classification problem, it could be approached through object detection which would make it more applicable to different locations since the model is not trained on the entire image and scenario but rather the objects.
Tools Used: For this model, my teammate and I relied on the Tensorflow Object Detection API and detection model zoo because they have recorded high accuracy rates. We decided to us the "Faster-R-CNN Inception V2" model.
Note:
| Model name | Speed (ms) | COCO mAP |
|---|---|---|
| ssd_mobilenet_v1_coco | 30 | 21 |
| ssd_mobilenet_v1_0.75_depth_coco | 26 | 18 |
| ssd_mobilenet_v1_quantized_coco | 29 | 18 |
| ssd_mobilenet_v1_0.75_depth_quantized_coco | 29 | 16 |
| ssd_mobilenet_v1_ppn_coco | 26 | 20 |
| ssd_mobilenet_v1_fpn_coco | 56 | 32 |
| ssd_resnet_50_fpn_coco | 76 | 35 |
| ssd_mobilenet_v2_coco | 31 | 22 |
| ssd_mobilenet_v2_quantized_coco | 29 | 22 |
| ssdlite_mobilenet_v2_coco | 27 | 22 |
| ssd_inception_v2_coco | 42 | 24 |
| faster_rcnn_inception_v2_coco | 58 | 28 |
| faster_rcnn_resnet50_coco | 89 | 30 |
| faster_rcnn_resnet50_lowproposals_coco | 64 | -- |
| rfcn_resnet101_coco | 92 | 30 |
| faster_rcnn_resnet101_coco | 106 | 32 |
| faster_rcnn_resnet101_lowproposals_coco | 82 | -- |
| faster_rcnn_inception_resnet_v2_atrous_coco | 620 | 37 |
| faster_rcnn_inception_resnet_v2_atrous_lowproposals_coco | 241 | -- |
| faster_rcnn_nas | 1833 | 43 |
| faster_rcnn_nas_lowproposals_coco | 540 | -- |
| mask_rcnn_inception_resnet_v2_atrous_coco | 771 | 36 |
| mask_rcnn_inception_v2_coco | 79 | 25 |
| mask_rcnn_resnet101_atrous_coco | 470 | 33 |
| mask_rcnn_resnet50_atrous_coco | 343 | 29 |
<annotation>
<folder>train</folder>
<filename>escalator_122.jpg</filename>
<path>C:\Users\aya708\Desktop\TensorFlow\workspace\escalator_object_detection\images\train\escalator_122.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>1280</width>
<height>720</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>luggage</name>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>368</xmin>
<ymin>246</ymin>
<xmax>410</xmax>
<ymax>306</ymax>
</bndbox>
</object>
<object>
<name>luggage</name>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>357</xmin>
<ymin>289</ymin>
<xmax>390</xmax>
<ymax>338</ymax>
</bndbox>
</object>
<object>
...